An application server, which may function as a multi-user computer system, often supports many users for executing one or more application programs from remote terminals such as workstations and personal computers. An application server can assume different architectures including that of a terminal server. When deploying an application server, it is important that the application server be properly configured to provide satisfactory performance for the expected number of users.
With the prior art, the performance of a multi-user computer system is often gauged by measuring some global system metric such as the processor utilization rate or the available system memory. However, an important performance indicator for an application server is the server's responsiveness as perceived by a user. Each user may be autonomously generating an action (e.g., entering a keystroke) through the user's remote terminal. A corresponding application program processes the action and provides a response to the user. If the time to respond exceeds a performance expectation, the user may perceive that the system is performing unsatisfactorily. Moreover, a multi-user computer system may support different types of users, where each type of user is characterized by different usage profiles. One type of user may be using application programs that place a large demand on the processor resources of the multi-user computer system. A second type of user may use application programs that place a relatively small demand on the processor resources but may enter keystrokes at a relatively high rate. Another type of user may use application programs that place a relatively large demand on the memory resources of the multi-user system. Moreover, different types of users may share application programs with each other. However, the different types of users may enter inputs at much different speeds (for example, a word processor expert versus an engineer who uses one finger to type).
Even though a global system metric may indicate that the multi-user compute system, as configured, provides satisfactory performance, a user may perceive the performance as not being satisfactory. On the flip side, the global system metric may indicate unsatisfactory performance although a user may perceive satisfactory performance.
There is a real need to provide a methodology and test tools that enable a system administrator to test a configured multi-user system to determine whether the multi-user system will provide satisfactory performance, with respect to a user's experience, even though the multi-user system is supporting different types of users and different application programs.